#ifndef _CAMERA_H_
#define _CAMERA_H_


#include <stdlib.h>
#include <stdio.h>
#include <GL/glut.h>
#include <math.h>
#include <gl\gl.h>			// Header File For The OpenGL32 Library
#include <gl\glu.h>			// Header File For The GLu32 Library
#include <gl\glaux.h>		// Header File For The Glaux Library

class Camera
{
public:
    int tipo;
    GLfloat x_pos, y_pos, z_pos;
    GLfloat x_rot, y_rot, z_rot;
    
    //Construtor
    Camera();
    Camera(int tipo);
    //Destrutor
    ~Camera();
    
    //Mudar o tipo da camera
    void changeType(int tipo);
    //Resetar a camera
    void resetCamera();
    //Colocar a cena no loca correto
    void lookCamera();
    
    //Setar os parametros da camera
    void SET_pos(GLfloat x_pos, GLfloat y_pos, GLfloat z_pos);
    void SET_rot(GLfloat x_rot, GLfloat y_rot, GLfloat z_rot);
    //Variar os parametros da camera
    void ADD_pos(GLfloat x_add_pos, GLfloat y_add_pos, GLfloat z_add_pos);
    void ADD_rot(GLfloat x_add_rot, GLfloat y_add_rot, GLfloat z_add_rot);

    //Retornar o angulo Z da camera
    GLfloat GET_z_angle();
    
};

#endif /*_CAMERA_H_*/
